The present invention relates to a method of outsourcing intermediate results of an internal data processing to an external memory, a device for processing data having an interface for outsourcing intermediate results of an internal data processing, a disk drive having a corresponding device for processing data and a cellular phone having a device for processing data.
The emergence of digital video delivered through DVD or HDTV and other distribution media is now beginning to make a new and improved picture quality available to consumers. But on the other hand it poses new threats to copyright owners through the imminent availability of recordable DVD""s, DVHS and multimedia personal computers. By using these new products ordinary consumers could easily make high quality unauthorized copies of copyrighted data.
One approach to protect copyright content is to embed a watermark into multimedia content such as audio, slow images, animation or video, wherein these watermarks are imperceptible to the human eye. Detectors can be cost effectively deployed in hardware or software to meet real-time play and record control requirements in a wide range of platforms like DVD. With an efficient detector implementation and robust watermark encoding the watermark can survive a wide variety of professional and consumer analog-to-digital and digital-to-analog transformations and video processing.
When reading the multimedia content with an embedded watermark the watermark needs to be detected and processed to determine the copyright status of the multimedia content. During the watermark detection processing several intermediate results of different processing steps are stored or buffered until the respective data is needed in a subsequent processing step. Hence a conventional watermark detector must comprise some kind of memory. The complexity of a watermark detector is increasingly dominated by the RAM necessary to do its computations. A watermark detector is for example known from U.S. Pat. No. 5,933,798.
The costs of such a watermark detector could be lowered proportionally if memory space already available in a player and recorder system in which the watermark detector is implemented, could be used to temporally store intermediate results of the data processing. For example, a MPEG decoder has 2-4 MBytes of RAM for PC-buffering and image reconstruction.
The bandwidth on a data bus to a buffer memory is also critical. There is already frequent access on the bus between the original hardware in for example a DVD-player and the external memory. The advantage of watermark detection is that it can be done in the background. A watermark detection delayed by 200 msec does not decrease the effectiveness of watermarks as copy-control measures.
Two main problem areas, namely the integrity and the confidentiality problem, are observed when watermark detectors share memory resources:
Integrity problem: The external RAM is reasonably easy to access, and a hacker wanting to obstruct the watermark detection function could replace the data stored by the detector through zeroes or dummy data before it is retrieved again by that detector.
Confidentiality problem: Furthermore a hacker could glean information about the precise shape of the watermark by studying the data stored in the external memory.
Accordingly, it is an object of the present invention to improve the security of outsourcing of intermediate results during a watermark detection processing. Further, a corresponding device for processing data having an interface for outsourcing intermediate results, a disk drive having a corresponding device for processing data, and a cellular phone having a device for processing data shall be provided.
These objects are achieved according to the invention by a method as set forth in claim 1, by a device for processing data having an interface for outsourcing intermediate results as set forth in claim 13, by a disk drive having a corresponding device for processing data as set forth in claim 16, and a cellular phone having a device for processing data as set forth in claim 17.
The invention is based on the recognition that the outsourcing of intermediate results of an internal data processing to an external memory is done by providing a first data signal constituted by first verification data and first intermediate result data. The first data signal is encrypted and stored or buffered temporarily in the external memory. When the internal data processing needs the stored intermediate results a respective data signal is read from the external memory. This read data signal is decrypted resulting in second intermediate result data and second verification data. Finally, the second verification data are authenticated with said first verification data. Through this authentication it can be made sure that the intermediate result data have not been manipulated while they were stored in the external memory or while they were transferred to and from the external memory. The present invention allows a secure xe2x80x9cborrowingxe2x80x9d of an external memory which is used as scratchpad memory.
In a further aspect of the invention the step of encrypting is being done using a key which is generated in a random number generator. Said key can be generated every time when intermediate result data units are to be outsourced to an external memory. This means that the key is locally generated, is only used once and becomes invalid after use, so that it becomes impossible to manipulate the key or to learn anything about the key from the outsourcing of data. The key can alternatively be fixed instead of being generated regularly or during each step of encryption.
In a still further aspect of the invention a check is made to see if the first and second verification data units correspond to each other by comparing them in the verification step.
The verification data units can be calculated internally according to an algorithm. The same algorithm can be used for generating the first and second verification data units. Preferably this algorithm shall be kept secret.
In a preferred aspect of the invention the verification data units are address data units. The first address data units preferably correspond to the r least significant bits of addresses of the external memory at which the intermediate result data units are stored in the step of storing. Moreover, in the step of verification the actual addresses of the intermediate result data units in the external memory are compared to the second address data units which are read out of the external memory and which correspond to the first address data units if the content of the external memory has not been manipulated. Alternatively functions of the address data can be used as verification data. The usage of address data as verification data has the advantage that no specific verification calculation of the data needs to be carried out since the address data is readily available.
In a further preferred aspect of the invention the external memory is a m-bit memory, the length of the intermediate result data units is n-bits and the length of the address data units is r-bits with m being a multiple of eight and n not necessarily being a multiple of eight. The usage of this structure allows to fully exhaust an external memory which is usually a 8-, 16-, 32-, 64-bit, 128-bit, . . . memory. Since the length of the n-bit intermediate result data units is usually not a multiple of eight they are filled up with r-bit address data units so that the sum of the length of the intermediate result data units and the length of the address data units is a multiple of eight, in order to allow additional redundant information to be incorporated into the information signal.
In a further aspect of the invention intermediate results of a watermark detection processing are outsourced to an external memory.
In a further aspect of the invention intermediate results of a watermark detection processing in an optical disk drive, a SDMI-player, or a MPEG decoder are outsourced to an external memory of the respective device.
In a further aspect of the invention intermediate results of an internal data processing in a cellular phone are outsourced to an external memory of the cellular phone.
In a further aspect of the invention a device for processing data having an interface for outsourcing intermediate results of an internal data processing to an external memory comprises combining means for providing a first data signal constituted by first verification data and first intermediate result data, encrypting means for encrypting the first data signal, storing means for storing or buffering temporarily the first data signal in the external memory, reading means for reading a data signal from the external memory, when the internal data processing needs the stored intermediate results, decrypting means for decrypting the read data signal resulting in second intermediate result data and second verification data, and verification means for verifying the second verification data with said first verification data.
In a still further preferred aspect of the invention the device for processing data having an interface for outsourcing intermediate results is a watermark detector and intermediate results are outsourced to an external memory.
In a further aspect of the invention the watermark detector is implemented in an optical disk drive, a SDMI-player or a MPEG decoder.
In a further aspect of the invention a disk drive comprises a device for processing data having an interface for outsourcing intermediate results of an internal data processing to an external memory.
In a further aspect of the invention a cellular phone comprises a device for processing data having an interface for outsourcing intermediate results of an internal data processing to an external memory.
Other preferred embodiments of the invention are disclosed in the dependent claims.